Method of website optimisation

ABSTRACT

A website optimisation system is integrated with a website by applying generic code to the website, that being the only code needed to be applied to the native source code of the website to enable the website optimisation system to optimise the website by altering one or more of: the data, functions or content assets of web pages in the website. Integration can be achieved on a one-time basis. The generic code can be placed into a website&#39;s page template or global page header, or manually to all pages in a website. The generic code can be just a single line of code, such as JavaScript code. The generic code remains the same irrespective of any differences in the data, functions or content assets of the web pages. The generic code includes code for all commands that enable tracking of the actions that relate to the optimisation objectives.

PRIORITY CLAIM; INCORPORATION BY REFERENCE

This application is a Continuation of U.S. application Ser. No.14/083,747 filed on Nov. 19, 2013, which is a continuation of U.S.application Ser. No. 12/795,080, filed on Jun. 7, 2010, which claims thepriority of British Application No. GB 0909695.9, filed Jun. 5, 2009 andBritish Application No. GB 1007985.3, filed May 13, 2010, the entirecontents of each of which are hereby incorporated by reference as iffully set forth herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a method of website optimisation, particularlyusing a real-time website optimisation system.

2. Description of the Prior Art

The way in which users interact with a website is highly dependent onthe exact content, layout and/or interaction sequences. Even quite smallchanges in for example the layout, or the graphics used, or the waycontent is reached, can have a dramatic impact on:

-   -   how useable the website is    -   how long users stay reading a page    -   how likely it is a user will progress to deeper pages within a        site or select links within a page or to view or buy items.    -   more generally, how effectively users will interact with the        site.

Consequently, it is very useful to be able to remotely modify or alterthe website's content, layout and/or interaction sequences then tomeasure how these changes impact user behaviour. This enables thecontent, layout and/or interaction sequences to be optimised forclusters of users (segmentation) and or each user behaviour patterns(behavioural targeting). The phrase ‘content, layout and/or interactionsequences’ is generalised in this specification to the phrase ‘dataand/or functions and/or content assets’. The broad objective of websiteoptimisation can be described as conversion management.

Website optimisation typically includes A/Bn, Multi-variate testing andpersonalization campaigns which alter the data, functions and/or contentassets in a website. These alterations cause variances in visitorexperiences, behavioural responses and subsequent conversion rates.Control groups are used to benchmark conversion rates for differentvisitor experiences; conversion rates are a metric of the number of userobjectives completed divided by the number of times a specific variationof content is generated. Personalisation campaigns includes targeting,banner promotions and offers, product selections, functional navigation,form handling/processing, user experience.

Optimising a website requires a website optimisation system—typically aremote computer programmed to interact with (i.e. be integrated with)the server hosting the web pages of the website.

Previously, integration between a website using a website optimisationsystem has required specific JavaScript integration between the remotecomputer and each individual page to be tested and altered; this is notonly complex, but slow because it requires custom code for each webpage, and also for each test. The custom code hard codes the specificpage controls required for each page, which in turn allows the dataand/or functions and/or content assets on each page to be altered andoptimised. Because custom code is required for each campaign anditeration, refresh cycles govern the implementation timeframes; andrestricted access rules, to organisations pre-production servers,normally block specialist external technicians access to source code.These specialist technicians often operate in separate agencies from anorganisation's technical group. These factors significantly inflate thehuman resource requirements and the speed at which campaigns anditeration code can be deployed. Additionally any code implemented needsto be removed once a campaign is complete before another can start onthe same page(s). These time and resource constraints cause a relativelyhigh the cost of deployment and timeframes which have to be consideredwhen management analyse the cost benefits of website optimisationprograms.

“Website optimisation” as used in this specification differs fromwebsite analytics because in website analytics systems, there is nooptimisation as such of the target website—i.e. there is no altering oneor more of: the data, functions or content assets of web pages in thewebsite.

SUMMARY OF THE INVENTION

The invention is a method of website optimisation, comprising the stepof integrating a website optimisation system with a website by applyinggeneric code to the website, that being the only code needed to beapplied to the native source code of the website to enable the websiteoptimisation system to optimise the website by altering one or more of:the data, functions or content assets of web pages in the website.

Typically this is one line of generic code, such as JavaScript code, andis applied to a website's page templates, reducing the requirement toadd it to individual pages.

Uniquely this implementation of the invention enables each visitor'sbrowser application to load a controlled and changing array of assetswithout ongoing changes to the code contained in the website's nativearchitecture or each page source code. Inserting a single line ofJavaScript into the website's parent header or template enables thewebsite optimisation system to integrate on a one-time basis. Onceinserted on the website pages to be optimized, all the requiredcampaigns and iterations can be deployed via the website optimisationsystem's console without making further changes to the website's sourcecode or native architecture. The term ‘console’ is used in thisspecification to refer to a set of user interfaces that enable controlsto be executed and data to be analysed. The console is displayed on acomputer screen, so we refer to it as an ‘on-screen console’.

For each web page where a unique URL is present, the system enables themapping of identifying factors in the URL string to variations of data,functions or content assets via the system's web based console. For webpages that do not have a unique URL strings, virtual pages with assignedobjects are added to the user interface with a mask in order toreproduce a virtual URL structure to identify the tested web page. Thesevirtual pages are identified by JavaScript code functions that analyseand identify the page in real-time based on their unique combination ofcode assets. Mappings are created and managed via the systemsinterfaces, thereby removing the need to adjust any source code on thewebsite.

These mappings are then delivered over a computer network to a contentgenerator module which is able to inject the variations into web browserapplications using JavaScript calls to the source of the new data,functions or content variant assets. Changes generated by the contentgenerator module can then be viewed by specified viewers' IP addressesor all of the websites visitors.

The content generator is able to map assets stored in its database withelements in each web page and hence work out the actual content used ina given web page and how users interact (e.g. link or click) with thoseassets. Matching can be done by, for example, simply labelling eachobject in each web page with a label that indicates the type of objectit corresponds to in the content generator. Alternatively, the URLassociated with each object can be associated in a separate table with alabel that indicates the type of object it corresponds to in the contentgenerator.

The present invention is implemented in a system called ‘One-Touch’.One-Touch is a one-time integration that allows the execution of aprogram of website optimization that includes a number of campaign andtheir iterations. These campaigns can include many different types, suchas A/Bn multivariate testing, behavioural targeting, productrecommendation, segment rules and campaigns comprised of blended typesand techniques. Each of these campaigns can be divided in a number ofiterations in order to analyse results and make changes to attempt toimprove conversion rate performance.

The effectiveness (as measured against statistical and conversion ratemetrics) of various permutations of data, function and/or content assetscan be established through real-time testing against control groups bythe optimisation system. One time integration of a website optimisationsystem, which subsequently deliver a multitude of campaigns anditerations, is therefore possible, for the first time.

Another aspect of the invention is a computer implemented websiteoptimisation system, in which the website optimisation system isoperable to integrate with the website by applying generic code to thewebsite, that generic code including all code needed to enable thewebsite optimisation system to optimise the website by altering one ormore of: the data, functions or content assets of web pages in thewebsite.

A final aspect is computer software, when recorded on computer readable,that when running on a website optimization system enables that systemto perform the methods described above.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is described with reference to the accompanying drawings,in which:

FIG. 1 depicts the Content Replacement Workflow schema of animplementation of the invention;

FIG. 2 depicts the page load schema;

FIG. 3 depicts the Publish Centre, which includes a physically andlogically discrete Sandbox development environment.

DETAILED DESCRIPTION

As explained above, this invention is a method of website optimisation:a website optimisation system is integrated with a website by applyinggeneric code to the website, that being the only code needed to beapplied to the native source code of the website to enable the websiteoptimisation system to optimise the website by altering one or more of:the data, functions or content assets of web pages in the website.Integration can be achieved on a one-time basis.

The generic code can be placed into a website's page template or globalpage header, or manually to all pages in a website. The generic code canbe just a single line of code, such as JavaScript code. The generic coderemains the same irrespective of any differences in the data, functionsor content assets of the web pages.

The generic code includes code for all commands that enable tracking ofthe actions that relate to the optimisation objectives; it initiates aprocess for all commands that enable content replacement, tracking ofthe actions that relate to the optimisation objectives, tracking ofpersonal data, and browser cookie reading & writing.

The optimisation system functions include: injecting changing data,functions and content assets into each instance of a website browserapplication, and executing variations on a case by case basis byreplacing data, functions or content that would otherwise be deliveredinto visitors' browser applications by the websites standard nativeapplications and networks. The optimisation system enables eachvisitor's browser to load a controlled and changing array of assetswithout ongoing changes to the code contained in the website's nativearchitecture or each page's source code.

For each web page where a unique URL, or unique code is present, theoptimisation system enables mapping those identifiers (i.e. the uniqueURL or unique code) to variations of data, functions or content assetsto be inserted, in a web-based console (see below for more detail onthis ‘on-screen console’). For web pages that do not have a unique URLstrings, virtual pages with assigned objects are added to the userinterface with a mask in order to reproduce a virtual URL structure toidentify the tested web page. These virtual pages are identified by codefunctions that analyse and identify the page in real-time based on theirunique combination of code assets, mappings are created and managed viathe systems interfaces, thereby removing the need to adjust any sourcecode on the website. The mappings are then delivered over a computernetwork to a content generator which is able to inject the variationsinto web browser applications using calls to the source of the new data,functions or content variant assets. Changes generated by one or morecontent generators can be viewed by specified viewer IP addresses or allof a website's visitors.

The generic code links to a content generator in the websiteoptimisation system that is able to introduce variations of data,functions or content assets. The content generator calls content to thepage, executes any functions required, tracks the actions to beoptimized and captures any personal data from the website.

The generic code also links to one or more on-screen consoles in thewebsite optimisation system, the or each on-screen console showing howcontent on a web page is mapped by the content generator. The consoleenables an operator of the website optimisation system to make changesto the mappings and view changes to any of the data, functions orcontent assets of the website. The console recognizes the area ofcontent on a page (or pages) into which the content generator callscontent variants and the actions to be tracked and optimized, recognizesdata, including personal data, that is taken from the website andenables a user to create and edit mappings of objects on the page, wherea page can be uniquely identified.

A development environment provides one or more of: restrictive access tochanges, quality-control and secure code changes. The developmentenvironment includes a separate content generator module which uses asecure link to manage code transfer to the content generator whichexecutes code on live tests and campaigns.

Content assets can be stored on a distributed network of servers, suchas edge servers.

The effectiveness, as measured against appropriate metrics, of variouspermutations of data, function and/or content assets is establishedthrough real-time testing; the real time testing measures the actionscompleted between control groups. This invention enables real-timewebsite optimisation can be achieved in a conversion management systemor process.

This invention is implemented in a system called One-Touch.

1. An Overview of Features and Benefits

This section describes the implementation methods and benefits ofMaxymiser's One-Touch methodology. We also briefly compare One-Touchwith other Maxymiser implementation methodologies.

Maxymiser's One-Touch methodology includes proprietary software,JavaScript technologies and services which:

-   -   Minimize the impact of Maxymiser's solutions on current business        resources;    -   Guarantee enterprise-level security standards;    -   Expedite objectives and throughput in Conversion Management        programs;    -   Deliver optimal value and ROI to Maxymiser Customers.

One-Touch is supported by the following solution components:

-   -   Maxymiser's Publish Centre;    -   Maxymiser onpage console™;    -   Content Delivery Servers via CDN;

One-Touch is the easiest, most secure and most effective way ofimplementing Conversion Management programs. It has been developed basedon Maxymiser's un-paralleled experience of delivering full servicesolutions to leading online companies.

Why One-Touch is the best method available:

-   -   It allows one-time integration based on a single, simple        implementation with a website's technical team;    -   It incorporates enterprise security standards in the technology        deployed and powerful management functions that mean the        business retains total control;    -   It minimizes page load impact using very lightweight Maxymiser        “mmcore.” JavaScript code;    -   It relies on a scalable global network as a backbone for high        speed content delivery

Some things One-Touch doesn't do:

-   -   It does not interfere with site traffic using proxy-servers and        other intermediary tricks which could compromise security and        performance;    -   It does not apply weighty code to pages that could cause slow        page loads and conflicts with existing website functions;    -   It does not allow code to be executed without the explicit        approval of your team;    -   It does not require repeated change requests to your technical        team throughout the program.

For the purposes of describing the One-Touch implementation we assumethat Maxymiser's Client Services team provides full test or campaignmanagement solutions, since this is the most popular way that MaxymiserCustomers engage. From an implementation perspective, this includes allsteps starting with the provision of instructions on the initialone-time integration with a website at the start of an engagement; topresenting individual tests to a ‘Publisher’ for approval. ‘Publishers’are Maxymiser Customers' team leaders who have exclusive rights to signoff and launch each test or campaign to a website's visitors. We arefocused on technical implementation in this document so it doesn't coverthe design consulting services that Maxymiser also provides.

We describe the technical work conducted by each person involved inimplementation, otherwise described as a “work-group”. That work grouptypically includes Maxymiser's Technical Client Services Team,Maxymiser's Account Management team and the designated ‘Publisher’.

The benefits of One-Touch methodology for people involved inimplementation are substantial:

-   -   One-Touch is a single implementation at the start of an        engagement with Maxymiser;    -   One-Touch uses generic code applied to all pages in a website so        the application of the code is easy and quick;    -   One-Touch page code can be easily applied at template level,        either to a global site template or to templates within the        site;    -   One-Touch page code works either in the header or body of the        page—whatever is most convenient;    -   One-Touch Methodology and underlying technology includes high        levels of security so Maxymiser Customers remain in total        control over any new content that is published;    -   One-Touch code sits happily on pages that are not subject to a        current test or campaign with no significant impact on page        load;    -   One-Touch uses high-speed CDN services to host content allowing        Maxymiser to meet or beat current content latency.

2. Glossary

Visitor—The Maxymiser Customers' website user.

Action—The website Visitors' action is the metric desired to beoptimised in your tests to achieve higher profit. One can select themetric to optimise either from the list of metrics in the drop down boxor one can create a new action by clicking on the appropriate button andsetting its parameters in Maxymiser UI.

Content Generator (CG)—this is a module within Maxymiser's ConversionManagement Platform which delivers content to the page, executes anyfunctions required, tracks Actions and captures any attributes—includingPersonalisation Criteria such as a preference entered in a form orAction attributes such as a currency amount.

CDN (Content Delivery Network)—This is a scalable high-speed globaldelivery network supported by Limelight Networks Inc.

Conversion—This is a % in a given time frame of the number of clickactions divided by the number of times content has been generated.

Default Content—This is the pre-existing content on a website whichMaxymiser uses as a control to measure new content variant performance.

JavaScript Libraries—These are proprietary code libraries developed byMaxymiser to manage integration into websites.

Maxybox—This is the area of content on a page (or pages) into whichMaxymiser serves content variants. Maxyboxes can be simple blocks orcomplex combinations of content on a single or multiple pages.

Personalisation Criteria—Visitors' personal data that is taken fromMaxymiser Customer's website, e.g. (name, age, gender, etc.) It can betaken from any input field on Maxymiser Customer's website by Maxymiserjava script or from parameter specified in URL.

Publisher—This is a role assigned in Maxymiser's Conversion ManagementPlatform to a person(s) in the Maxymiser Customer's team who controlsthe Publishing process.

3. What JavaScript Methodologies does Maxymiser Provide:

Maxymiser deployments are founded on three JavaScript implementationlibraries. These are:

Maxymiser.js—A methodology that uses code in the page header, “div” tagsaround Maxyboxes, and Action tags to track each click Action that ismeasured. This a very simple method of JavaScript code deployment, buteach test or campaign needs new code, and may require custom codefunctions.

One-line methodology—A method that uses One-line of code on all pagesinvolved in a specific test or campaign. In this methodology we have achoice of two JavaScript libraries:

Maxymiser.js—This method uses the library files described above butthese files are placed on a Maxymiser Customer's server rather than onthe page. Each page requires a different One-line.

Mmcore.js—This library includes all functions required to run a test ona target website page.

One-Touch—This methodology uses a generic One-line of code which can beused on all pages for all tests or campaigns. Maxymiser's Mmcore.js opclibrary is deployed on a high-speed content delivery network along withany content required in a test or campaign. In One-Touch, JavaScriptfunctions are mapped from the library to pages using Maxymiser's onpageconsole™, and this avoids any replacement of code or custom scriptimplementation between tests.

5. How a Page Loads in One-Touch Methodology

One-Touch requires only one line of Maxymiser code to be inserted on allthe website pages to be including in a present or future MaxymiserProgram:

<script type=“text/javascript” scr=“maxymiser/mmcore.js”></script>

The FIG. 1 diagram explains the interaction in One-Touch between thecomponents of Maxymiser's One-Touch solution, the Visitor's browser andthe website server.

In One-Touch methodology, the codes that perform content replacement areincluded into the mmcore.js OPC library which lives on the CDN. When apage is loaded to a visitor's browser, the functions required frommmcore.js OPC libraries are executed along with the source code of thepage and processed command-by-command as the page loads, as shown inFigure.

The content of mmcore.js is conventionally divided into two parts:

-   -   The Core Permanent part—this part is generic for all pages of        the domain. The Core Permanent part is configured for a domain        only once before the first test setup and is not changed after        that. The Core Permanent part contains standard commands of        content replacement, Actions & Personalisation Criteria        tracking, browser cookie reading & writing and so on.    -   The Page Specific part—this part is adjusted for the pages of        each test individually. The Page Specific part contains        configurations for standard commands. With the help of this        part, Maxymiser can customise the execution of the Core        Permanent part commands as required for certain page content,        test and general requirements. For example, Maxymiser can        specify which Maxybox should be rendered on the test page first,        or in which browsers the test should be conducted. Note: In the        One-Touch solution this part is usually absent. Page Specific        code is rarely used.

The Page Specific part uses the Core Permanent part when commands areexecuted.

6. A Comparison of One-Touch vs. other Maxymiser JavaScript Solutions

Maxymiser's One-line Solution works with a JavaScript library calledMmcore.js. One-Touch uses a more advanced JavaScript library mmcore.jsOPC library which works with Maxymiser's OPC onpage console™.

How the libraries differ:

Mmcore.js One-line solution:

The Page Specific part of mmcore.js contains

i. All commands that enable content replacement and action-trackingfunctions such as:

-   -   Define Maxybox and Action names on a test page    -   Hide default content of Maxyboxes    -   Show alternative content    -   Track Actions and Personalization Criteria

ii. Configuration of the code itself 1 16

One-Touch Solution [mmcore.js/opc]:

The One-Touch solution is implemented in a more flexible way thatallows:

i. The transfer of Maxyboxes to a page via mapping rules, created in OPCor the Maxymiser UI;

ii. The transfer of Actions from a page to Maxymiser UI;

iii. The execution of functions like hiding default content andrendering alternative content, tracking Actions and PersonalizationCriteria by scripts that are sent to the browser from the ContentGenerator as a request response.

Hence, the Page Specific part of mmcore.js/opc contains only: therequest to the CG—i.e. mmcore.CGRequest( ) command;

All other commands and configuration options called “configurationscripts” are stored in the Maxymiser database as/OPC after a response isreceived from the CG.

The mmcore One-line solution requires greater effort from Maxymiser teamthan the One-Touch solution, as it requires the customizing of mmcore.jsscript for each separate page whereas in the One-Touch solution,mmcore.js is configured once for all pages.

7. Exceptions for the Use of the One-Touch Solution

One-Touch works without customization for the vast majority of websites,WCMS's and web application platforms since Maxymiser requires a veryshallow level of integration which is not linked to any software.Maxymiser's team provide a website audit prior to implementation ofOne-Touch code to indentify any special requirements.

The two most common situations when the One-Touch requires eithercustomization or a composite solution from Maxymiser's team are:

When the Tested Page has “APPLICATION/XHTML+XML” MIME Media Type.

In the case the tested website has “APPLICATION/XHTML+XML” MIME mediatype in the header of the server response, certain commands of mmcore.jsscript cannot be executed by the browser (document.write method does notwork for such pages).

One-Touch integration is not possible in this case but the One-lineintegration methodology using maxymiser.js provides a good alternativeapproach.

The URLs of Pages on the Website are not Unique for each Page.

In this case, out-of-the-box URL mapping is not possible using onpageconsole but Maxymiser regularly uses alternative methods to get aroundthe problem.

If website pages have unique identifiers that are stored in any objectlike a JS variable, an ID of some element on the page, or a pagespecific cookie, then Maxymiser can use this ID for page mapping toachieve One-Touch integration.

Flash Testing

Maxymiser has some restrictions regarding flash testing with .xml fileshosted via a CDN. In the case of flash content tested we recommendtesting complete content blocks. Partial changes in flash content arenot currently possible.

How Maxymiser uses Page ID's:

i. The Maxymiser Customer's technical team can make backendmodifications so the site is able to assign this unique identifier ofthe page to a window.mmPageID variable before loading the mmcore.jslibrary.

OR

ii. Mmcore.js can be customised by Maxymiser team and resent back to aMaxymiser Customer. While loading mmcore.js will recognize this variableand pass it to the Content Generator instead of page URL for mappingpurposes. In these cases masks used in mapping definitions inMaxymiser's Maxymiser UI have to match the values of variablewindow.mmPageID.

8. One-Touch Integration Code Types and Where they Reside

The following code type is required in One-Touch integration:

One-Touch page code—this is the code that resides on all pages—seeexample below:

<script type=“text/javascript” scr=“maxymiser/mmcore.js”></script>

Code types that reside on the Content Delivery Network:

Mmcore.js/opc library—this is the main library that performs keyoperations, like content replacement, Action tracking and so on. Itresides on the high-speed CDN.

Supplementary libraries—JavaScript libraries used for the execution ofMaxymiser functions, including:

-   mmevents.js library for special Action tracking-   mmpa.js library for content assist functionality support-   mmcore-attrs.js for segmentation custom criteria tracking-   mmcore.DOM.js library that simplifies work with DOM model

Content of page—HTML content of alternative variants, CSS files andJavaScript code used in alternative variants;

External resources of page—i.e. images, flash and other resources usedin alternative content;

Configuration scripts—These are custom JS code functions used to adjustthe main and supplementary libraries to particular website peculiaritiesor requirements. The main purposes of these scripts are:

-   -   Update settings of mmcore.js library on the fly (for example to        exclude browsers or filter from pages)    -   Activate and configure supplementary libraries (mmevents.js,        mmpa.js and so on)    -   Any additional configuration of any custom library created for        specific test case.

9. Securing Code Interactions

Information security is a key tenant of Maxymiser and underpins thepremium credentials of Maxymiser's solutions.

A summary of Maxymiser standard security measures:

-   -   Maxymiser's Information Security Policy is based on the ISO27001        standard;    -   Maxymiser's data centers hold ISO27001 certification, and are        subject to annual audits to maintain this status. They also        receive periodic audits by Maxymiser Customers' information        security officers, including those of major financial services        institutions;    -   Maxymiser development methodologies are subject to periodic        external audits, most recently passing a Symantec audit in 2008;    -   Content generator communications with a Maxymiser Customer's        server and Content Delivery Network utilize:        -   HTTPS connections        -   SSL certification        -   128-bit Encryption

10. Maxymiser Publish Centre

Maxymiser's Publish Centre fulfils three key objectives which supportMaxymiser's One-Touch methodology:

-   -   To quality-control and secure Maxymiser code changes;    -   To assign control of these releases to a Publisher;    -   To provide effective workflow in the preparation of changes.

10.1 Quality Control and Secure Code Change Management

Maxymiser's Publish Centre includes a physically and logically discreteSandbox development environment. The Sandbox has a separate ContentGenerator module which uses a secured VPN linked to manage code transferto the Content Generator which executes code on live tests andcampaigns, as shown in FIG. 3.

To view the Sandbox code (which is the pre-production version of testsor campaigns) Maxymiser Users shall meet each and all of the followingcriteria:

-   -   They require to be authenticated users of Maxymiser's Conversion        Management Platform;    -   They must have appropriately assigned rights within Maxymiser's        role module;    -   They must use Maxymiser System from a controlled IP list defined        for each domain;    -   They must hold a special cookie in their browser which binds        them to the points above.

The publishing process is solely controlled and executed by a Publisherwho has a unique role for each domain at the start of Maxymiser'sengagement. For each request to publish the Publisher is provided withdetails of the changes made to the Sandbox and can use onpage console topreview the Sandbox version of the pages.

11. Overview of Maxymiser's Onpage Console™

Onpage console™ (OPC) provides the capability for technicians to managewebsite JavaScript integration using One-Touch methodology. It is alsouseful for Publishers to view changes. Instructions to install OPC areprovided upon engagement with Maxymiser and the OPC includes a fullonline help guide. A ‘console’ as that term is used in thisspecification is a set of user interfaces that enable controls to beexecuted and data to be analysed. The Onpage console is displayed on thescreen, so we refer to it as an on-screen console.

OPC is a browser plug-in based on Microsoft Silverlight technology thatshares Maxymiser User authentication with Maxymiser's main platform andmirrors test set-ups. Once the plug-in is installed, Maxymiser Users whocomply with the Maxymiser team security requirements stated in section10.1 will see the OPC icon on the right hand side of their screen whenbrowsing pages which contain Maxymiser one-touch script.

12. Placing a Maxybox on a Page

Maxyboxes can be placed in the correct position on a page using variousmethods as mentioned below:

-   -   If the page has pre-existing short unique line identifiers,        these can be adopted as Maxybox names in test set up and        Maxymiser's Content Generator will automatically look for these        on the page and insert content in the appropriate places.    -   If the line identifier is too long to adopt as a Maxybox name        (as in some .asp pages) Maxymiser team can use OPC to inject a        translation script into the page which translates the line ID to        a usable ID which in turn is adopted as a Maxybox name.    -   If no line ID's exist Maxymiser team can use OPC to inject a        custom script to identify lines in the page code.    -   In a page without line ID's Maxymiser's team can include        JavaScript in the content variant which tells the CG where to        insert the content on the page.

Each of the above solutions can have code libraries which can beaugmented and refined to address an increasing number of page-buildscenarios.

13. One-Touch Content Delivery Network

In section 3 we identified the types of code required in Maxymiser'sOne-Touch methodology. Maxymiser's One-Touch is supported by a globalleader in high-speed content delivery that enables all the contentassets required in One-Touch to be stored on a global network of edgeservers, reducing the distance between Visitors and website content thatneeds to be delivered. In the event that those content assets are beingdelivered for the first time, a private optical network short cuts thelogjams incurred in the public Internet over longer distances.

Maxymiser's team manage these assets on a secure origin server and allchanges in content or code execution are controlled through Maxymisersecure Publishing process. Maxymiser CDN services support Maxymiser'sstandard security provisions including HTTPs, SSL and 128-bitencryption.

What CDN contributes to One-Touch:

-   -   Content Assets are delivered across high speed networks that        often out-pace a websites standard latency.    -   Maxymiser's team can prepare and monitor quality control of        these assets for Publisher approval processes.    -   A website's current infrastructure load will be reduced as        Maxymiser provides CDN services for the replacement content.    -   Content managed under One-Touch can be delivered globally at low        latency, assisting with any website scalability.

14. Conclusions

Maxymiser One-Touch provides a highly effective way to executeConversion Management Programs, with high levels of security and fulllife cycle solutions support. The net result is faster and higher ROIfor Maxymiser's Customer, with minimal impact on already busy technicalteams.

Appendix 1 is an overview of the entire website optimisation process andsystem that the One-Touch deployment forms a part of

Appendix 2 is a description of the website personalization features ofthis system.

Appendix 3 is a description of the algorithms deployed in this processand system.

Appendix 1 Overview of the Complete Website Optimisation System andProcess

Maxymiser's proprietary conversion management methodologies delivercontinuous conversion uplift in every major online vertical includingretail, finance, travel, media, gaming, social media and charitysectors. The benefits brought to online businesses include:

-   -   Continuous uplift in conversion rates and revenues    -   Expertise and full-service solutions to manage entire programs    -   OneTouch deployment ensuring minimal tech team involvement and        no dependence on website code release cycles    -   Real-time visitor and customer insight    -   Negates need for costly website re-designs and the risks they        bring    -   Increased response rates to cross-sell and up-sell promotional        offers by offering the optimal offer to each individual visitor    -   Increased revenue and cart sizes through personalized product        and category recommendations through the visitor journey    -   Multichannel integration to increase relevance of offers and        campaign conversion rates across all touch points

A/B . . . n and multivariate testing brings objectivity to your contentdesign: Maxymiser A/B . . . n and multivariate testing optimizes websitecontent based on live visitor feedback. Maxymiser concludes whichcontent produces the best conversions using live control groups,statistical analysis and real-time reports. Conversion metrics includesales, sign-ups, page impressions and any click that your web sitemonetizes. Your customers benefit from user experience improvementsbased on statistically proven analysis. Your business benefits fromcontinuous uplift in conversion rates.

Visitor segment targeting works on the basis that content which is‘winner for all traffic’ can be further optimized by targeting specificvisitor segments with specific content based on a range of visitorattributes available online though our platform. The segments can bedefined by rules in an intuitive rule engine or you can leave Maxymiserto automatically mine the optimal visitor segments and the winningcontent for each group. Our reporting provide critical visitor andcustomer insight to support development of your strategic marketingplans.

Maxymiser creates personalized cross-selling and up-selling campaigns onwebsites to increase response rates, revenues and cart sizes. Theseinclude automated product and category recommendations and automatedcross-sell and up-sell promotional campaigns. We have the broadest rangeof integrated modeling techniques available from one integrated platformensuring we can deploy the optimal modeling for each situation tomaximize ROI and minimize Total Cost of Ownership. Real-time testing,trend reports and inventory analysis support campaigns and providecustomer insight.

Maxymiser enables anonymous customer data from all channels to beexploited when personalizing web sites. Our proprietary Inline Databaseenables all offline data held in CRM systems to be stored and exploitedin targeting decisions at web-speed. The benefits are:

-   -   Conversion rates and response rates are increased using powerful        offline and CRM data    -   Enterprise CRM data is enriched with highly predictive online        behavioural data    -   Customer experience can be effectively integrated across        channels

Maxymiser's proprietary SaaS platform enables clients and our serviceteams to manage conversion dynamically, running multiple website testsand targeting campaigns at the same time. Progression from one solutionto the next is simple and data is shared between all solutions. Ourbest-in-class Report Centre is available in real-time, 24/7 and providessnapshot and deep-dive views on conversion metrics along with customerinsight.

Maxymiser has the easiest to integrate website marketing softwareavailable. Our OneTouch deployment methodology makes it easy tointegrate with any website in hours on a one-time-for-all-future-testbasis. That means marketers can focus on actioning conversion managementfree from technical queues and resource restrictions.

Appendix 2 Website Personalisation-Solutions Overview

Personalization has been on online marketers' wish lists for years. Asexperienced direct marketers will testify, it is capable of deliveringsignificantly higher sustainable engagement and response rates thansegment targeting. However, to date its use online has been hampered byhigh Total Cost of Ownership (TCO) and targeting decision speedsdesigned for call centre applications with unacceptably slow page loadtimes online.

Maxymiser's personalization solution marks a new beginning. It enables‘vanilla’ web sites to far more effectively engage and re-engage bothvisitors and customers with both promotions and recommendations based ontheir individual:

-   -   Environmental attributes: IP address, PC configuration, browser        type    -   Contextual attributes: time of visit, referring URL, traffic        source, keyword, affiliate    -   Detailed past browsing history: what they viewed at in past,        when and in what order    -   Where available CRM data

Maxymiser analyses this data in real-time using a broad range ofadvanced self-learning models to enable you to serve the most:

-   -   Enticing up-sell or cross-sell promotion on banners or other key        content areas to maximize response rates and drive each        customer's personalized experience    -   Engaging product or category recommendations at any stage in the        customer journey to increase the yield of key areas of site real        estate, revenues and average cart size

Personalization can drive great uplift in response rates but it operatesbest within the context of a website optimized by concurrent MVT testprograms. Increased response rates to offers and recommendations are notefficiently exploited if the key high volume web pages and conversionfunnels are not also being optimized using MVT testing. Maxymiser'spersonalization is rigorously judged against transparent uplift metricswithin a ‘test and improve’ framework ensuring a strong ROI.

The benefits include the following:

Drive increased response rates to onsite offers and promotions byautomatically targeting the right offer to each individual visitor. Theoffer most likely to elicit a response from each visitor is determinedon an individual basis and displayed.

Automatically create engaging, targeted product and category-levelrecommendation blocks to boost revenues and cart sizes. Typicalrecommendation blocks include: “Highest rated”; “Customers like you alsolooked at:” (exploiting visitor affinity targeting) and “Similar hotelsnearby: (exploiting product affinity targeting)

Unique Benefits of Maxymiser's Personalization Solutions

-   -   Ability to exploit the most relevant modeling techniques        (behavioral response modeling or affinity modeling) for each        campaign for maximum conversion uplift and ROI    -   Personalize entire websites from a single platform dramatically        reducing TCO and management overhead and maximizing the yield of        each area of site real estate    -   Ensure customers are targeted consistently and using all known        data about them regardless of device they are using at that        point (home PC, work PC, smartphone...)    -   Deliver personalization within a proven ‘test and improve’        framework to ensure sustainable uplift and identification of        strong and weak creative content    -   Integrate within days using class-leading OneTouch methodology    -   Real-time reporting with transparent ROI and deep insight at        campaign level World-class global SaaS architecture enables        rapid integration with existing infrastructure with proven        robustness, security and performance

Solution Components

Content ASSIST: Generates product recommendations at product or categorylevel based on the most advanced visitor and product affinity modelingon the market

Content BT: Presents targeted promotional offers using automated,self-learning behavioral response models based on online and offline CRMdata

Integration: Deployed via Maxymiser's class-leading OneTouch integrationusing one small, generic piece of JavaScript applied once to all pageswith no further required from client's technical teams for all futurecampaigns

Client Services: Our industry-leading team of experts will guide andsupport you to achieve your personalization ambitions grounded in thedelivery of a transparent ROI. Services include Usability, DataAnalysis, Creative Design, Web Development, Project Management andTechnical Support.

Appendix 3 Campaign Optimization Method Introduction

Maxymiser Conversion Management platform provides various types websiteoptimization campaigns to objectively test, improve and personalize awebsite's visitor and customer experiences. Campaign types are designedto meet the requirements of different kinds of content to be optimized,the structure of content variants which need to be served and reported;and the action metrics to be targeted. Campaign methods are the mathsapproaches used in one or more campaign type. Campaign methods aremathematical approaches, including self-learning algorithms, whichdetermine the exact variants of content to be served to a websitevisitor.

Full Factorial/Random Serve Method

This method delivers a statistically valid distribution of generationsof content variations by serving content on a random basis. Overtime thegeneration instances of each content variation will be similar acrossany given group of visitors. This method is commonly, but notexclusively, used in A/B..n and Multivariate testing.

Continuous Optimisation Method

Maxymiser's Continuous Optimisation method works by modelling a responsevariable (target conversion metric) in terms of covariates (uncontrolledvariables which influence the response, which are visitors' attributesor content generation time), factors (controlled variables which arecontent variations being delivered to visitors), and interactionsbetween them. Dependent on account settings in Maxymiser's software thismethod may only model content generations and actions; or in higherlevel account settings it will factor in a large array of visitorattributes. Visitor attributes include environmental factors, visitorbehavioural factors and offline visitor intelligence data which mightinfluence the response of a visitor to particular content andexperiences. This is often referred to as behavioural targeting.Continuous Optimization uses self-learning algorithms and determineswhich variations of content should be shown to each visitor. Logisticregression modelling with automated relevance determination is used tomodel the response variable in terms of covariates, factors andinteractions. This makes it possible to accurately model the targetconversion rate, to protect the model from overfitting and to avoidspurious factors and interactions which do not actually manifestthemselves in the data, and to take into account the possibledifferences of conversion rates through the time.

Taguchi Method

Taguchi design of experiments methodology can be used to study theinfluence of various factors conversion performance and determine whichfactor has more influence, which ones have less. It's practical useslimit the number of content variant combinations in a campaign within agiven visitor group so as to expedite conclusive results, supported bystatistical confidence metrics.

The Taguchi method proposes a restricted array of combinations inspecially selected arrays from so called Taguchi arrays. Instead ofhaving to test all possible combinations, the Taguchi method allowsMaxymiser to test specific groups of them. This allows Maxymiser tocollect the necessary data to determine which parameters most affect theuplift with a minimum amount of experimentation, thus saving time. TheTaguchi method is best used when there is an intermediate number ofcontent elements (3 to 10), few interactions between elements and whenonly a few elements contribute significantly.

The Taguchi method used by Maxymiser allows for the analysis of manydifferent elements of content but with lower traffic volume. Forexample, a process with 8 elements, each having 3 Variants, wouldrequire 6561 (38) experiments to test all possible content combinations.However using Taguchi's orthogonal arrays, only 18 tests are necessary,or less than 3%. This allows for the identification of key contentelements and variants. Elements that have the most effect on the website's performance value can be served whilst those that don't can beignored.

Collaborative Filtration

This method is typically used to generate recommendations from largeinventories, like product inventories on retail websites, or articleinventories on media sites. Collaborative filtering in Maxymiserutilizes a combination of two different collaborative filteringtechniques to generate recommended content—Visitor-based and Item-based.

For example if visitor adds a product to basket, an item-basedrecommendation approach can offer complementary products to developcross-sales revenue. In the Visitor-based approach the visitor can seethe selection of other visitors or buyers with similar interests.Collaborative Filtering has two active phases, the learning phase andgenerating phase. In Maxymiser's architecture there are two modules, theoff-line module (learning phase) and on-line module (generating phase)processing all recommendations requests. The off-line module performsfull calculations for both modes (visitor-mode, item-mode) and buildsthe model of visitor- and item-based recommendations. On-line moduleuses this data for generating recommendations. Both modules aresynchronized automatically and work in a continuous cycle or learningphase and generation.

Segmentation

Maxymiser enables segmentation of traffic to be conducted to createflexible business rules. These rules identify the attributes of criteriathat a visitor should posses to qualify for inclusion, and a proscribedset of content variation that qualifying visitors should be served.Segment rules work by segmenting visitors at the point of contentgeneration based on an “and” logic where a visitor should comply withall the attribute conditions in order to qualify for inclusion in therule which in turn determines the content to be shown. Maxymiserprovides manual and automatic data mining and modeling to support thesoftware users creation and maintenance of segment rules.

1. A system comprising: at least one device including a hardwareprocessor; the system being configured to perform operations comprising:receiving a request for a webpage corresponding to a Uniform ResourceLocator (URL); identifying the webpage corresponding to the URL; mappingthe URL to at least one variation of data, functions, or content assets;injecting the at least one variation of data, functions, or contentassets into the webpage to obtain an optimized webpage; responsive atleast to receiving the request for the webpage corresponding to the URL,transmitting the optimized webpage with the at least one injectedvariation.
 2. The system of claim 1, wherein the operations furthercomprise: identifying a reference, associated with the webpage, to codeexternal to the webpage; executing the code, external to the webpage, toperform the mapping and injecting operations.
 3. The system of claim 2,wherein the reference, associated with the webpage, is identified inresponse to the reference being stored in association with a websitecorresponding to the webpage.
 4. The system of claim 1, wherein thereference, associated with the webpage, is identified in response to thereference being stored in association with a website page templatecorresponding to the webpage.
 5. The system of claim 1, wherein theidentifying, executing, and transmitting operations are performed by aweb server.
 6. The system of claim 1, wherein the identifying andexecuting operations are performed by a web server responsive at leastto receiving the request for the webpage.
 7. The system of claim 1,wherein the injecting operation is performed by a web browserapplication that transmits the optimized webpage for display on adisplay device.
 8. The system of claim 1, wherein the at least onevariation of data, functions, or content assets is determined based on arequestor of the webpage, and wherein the operations further comprisegenerating different variations of the webpage for different requestors.9. The system of claim 1, wherein the optimized webpage is generatedwithout modifying said webpage.
 10. The system of claim 1, wherein theoperations further comprise: transmitting information for display on anon-screen console, the information identifying the differences between(a) said webpage and (b) the optimized webpage.
 11. A non-transitorycomputer readable medium comprising instructions which, when executed byone or more hardware processors, causes performance of operationscomprising: receiving a request for a webpage corresponding to a UniformResource Locator (URL); identifying the webpage corresponding to theURL; mapping the URL to at least one variation of data, functions, orcontent assets; injecting the at least one variation of data, functions,or content assets into the webpage to obtain an optimized webpage;responsive at least to receiving the request for the webpagecorresponding to the URL, transmitting the optimized webpage with the atleast one injected variation.
 12. The medium of claim 11, wherein theoperations further comprise: identifying a reference, associated withthe webpage, to code external to the webpage; executing the code,external to the webpage, to perform the mapping and injectingoperations.
 13. The medium of claim 12, wherein the reference,associated with the webpage, is identified in response to the referencebeing stored in association with a website corresponding to the webpageand/or a website page template corresponding to the webpage.
 14. Themedium of claim 11, wherein the identifying, executing, and transmittingoperations are performed by a web server.
 15. The medium of claim 11,wherein the identifying and executing operations are performed by a webserver responsive at least to receiving the request for the webpage. 16.The medium of claim 11, wherein the injecting operation is performed bya web browser application that transmits the optimized webpage fordisplay on a display device.
 17. The medium of claim 11, wherein the atleast one variation of data, functions, or content assets is determinedbased on a requestor of the webpage, and wherein the operations furthercomprise generating different variations of the webpage for differentrequestors.
 18. The medium of claim 11, wherein the optimized webpage isgenerated without modifying said webpage.
 19. The medium of claim 11,wherein the operations further comprise: transmitting information fordisplay on an on-screen console, the information identifying thedifferences between (a) said webpage and (b) the optimized webpage. 20.A method comprising: receiving a request for a webpage corresponding toa Uniform Resource Locator (URL); identifying the webpage correspondingto the URL; mapping the URL to at least one variation of data,functions, or content assets; injecting the at least one variation ofdata, functions, or content assets into the webpage to obtain anoptimized webpage; responsive at least to receiving the request for thewebpage corresponding to the URL, transmitting the optimized webpagewith the at least one injected variation; wherein the method is executedby at least one device including a hardware processor.